//package cn.xyz.juc.atomic;
//
//import sun.misc.Unsafe;
//
//import java.lang.reflect.Field;
//
//public class UnsafeTest {
//    public static Unsafe U;
//
//    static {
//        try {
//            Field f = Unsafe.class.getDeclaredField("theUnsafe");
//            f.setAccessible(true);
//            U = (Unsafe)f.get(null);
//        } catch (Throwable e) {
//            e.printStackTrace();
//        }
//    }
//
//    public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException, InstantiationException {
//
//        User user = new User();
//        // 获取字段
//        Field age = user.getClass().getDeclaredField("age");
//        // 获取字段相对Java对象的"起始地址"的偏移量
//        long offset = U.objectFieldOffset(age);
//        // 设置值
//        boolean success = U.compareAndSwapInt(user, offset, 10, 20) ;
//        System.out.println("修改结果: " + success ) ;
//        // 打印数据
//        System.out.println("查询结果: " + user.getAge());
//    }
//
//
//}
//
//class User {
//    private int age;
//
//    public User() {
//        this.age = 10;
//    }
//
//    public int getAge() {
//        return age;
//    }
//}
